home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 3.iso / dist / fw_qt3.idb / usr / freeware / Qt / examples / opengl / overlay / glteapots.h.z / glteapots.h
C/C++ Source or Header  |  2002-04-08  |  2KB  |  64 lines

  1. /****************************************************************************
  2. ** $Id:  qt/glteapots.h   3.0.3   edited Oct 12 12:18 $
  3. **
  4. ** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.
  5. **
  6. ** This file is part of an example program for Qt.  This example
  7. ** program may be used, distributed and modified without limitation.
  8. **
  9. *****************************************************************************/
  10.  
  11. /****************************************************************************
  12. **
  13. ** This is a QGLWidget displaying a group of teapots and a rubber-band
  14. ** in an overlay plane
  15. **
  16. ****************************************************************************/
  17.  
  18. #ifndef GLBOX_H
  19. #define GLBOX_H
  20.  
  21. #include <qgl.h>
  22.  
  23.  
  24. class GLTeapots : public QGLWidget
  25. {
  26.     Q_OBJECT
  27.  
  28. public:
  29.  
  30.     GLTeapots( QWidget* parent, const char* name );
  31.     ~GLTeapots();
  32.  
  33. protected:
  34.  
  35.     void        initializeGL();
  36.     void        paintGL();
  37.     void        resizeGL( int w, int h );
  38.  
  39.     void        initializeOverlayGL();
  40.     void        paintOverlayGL();
  41.     void        resizeOverlayGL( int w, int h );
  42.  
  43.     void        mousePressEvent( QMouseEvent* e );
  44.     void        mouseMoveEvent( QMouseEvent* e );
  45.     void        mouseReleaseEvent( QMouseEvent* e );
  46.  
  47.     void        renderTeapot( GLfloat x, GLfloat y, GLfloat ambr,
  48.                       GLfloat ambg, GLfloat ambb, GLfloat difr,
  49.                       GLfloat difg, GLfloat difb, 
  50.                       GLfloat specr, GLfloat specg, 
  51.                       GLfloat specb, GLfloat shine );
  52.  
  53.     void        teapot();
  54.  
  55. private:
  56.     GLuint teapotList;
  57.     QPoint rubberP1;
  58.     QPoint rubberP2;
  59.     bool rubberOn;
  60. };
  61.  
  62.  
  63. #endif // GLBOX_H
  64.